/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package entidade;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Temporal;

/**
 *
 * @author Thais
 */
@Entity
public class Treino implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long idTreino;
    private String objetivo;
    private String tipoTreino;
    private String qtdTreinoRealizados;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dataInicio;
    @OneToMany
    private List<TreinoPreTreino> preTreino;
    @OneToMany
    private List<Alongamento> alogamentoInicial;
    @OneToMany
    private List<Alongamento> alongamentoFinal;    
    @OneToMany
    private List<ExercicioTreino> exercicios;

    public Long getIdTreino() {
        return idTreino;
    }

    public void setIdTreino(Long idTreino) {
        this.idTreino = idTreino;
    }

    public String getObjetivo() {
        return objetivo;
    }

    public void setObjetivo(String objetivo) {
        this.objetivo = objetivo;
    }

    public String getTipoTreino() {
        return tipoTreino;
    }

    public void setTipoTreino(String tipoTreino) {
        this.tipoTreino = tipoTreino;
    }

    public String getQtdTreinoRealizados() {
        return qtdTreinoRealizados;
    }

    public void setQtdTreinoRealizados(String qtdTreinoRealizados) {
        this.qtdTreinoRealizados = qtdTreinoRealizados;
    }

    public Date getDataInicio() {
        return dataInicio;
    }

    public void setDataInicio(Date dataInicio) {
        this.dataInicio = dataInicio;
    }

    public List<TreinoPreTreino> getPreTreino() {
        return preTreino;
    }

    public void setPreTreino(List<TreinoPreTreino> preTreino) {
        this.preTreino = preTreino;
    }

    public List<Alongamento> getAlogamentoInicial() {
        return alogamentoInicial;
    }

    public void setAlogamentoInicial(List<Alongamento> alogamentoInicial) {
        this.alogamentoInicial = alogamentoInicial;
    }

    public List<Alongamento> getAlongamentoFinal() {
        return alongamentoFinal;
    }

    public void setAlongamentoFinal(List<Alongamento> alongamentoFinal) {
        this.alongamentoFinal = alongamentoFinal;
    }

    public List<ExercicioTreino> getExercicios() {
        return exercicios;
    }

    public void setExercicios(List<ExercicioTreino> exercicios) {
        this.exercicios = exercicios;
    }  

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idTreino != null ? idTreino.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the idTreino fields are not set
        if (!(object instanceof Treino)) {
            return false;
        }
        Treino other = (Treino) object;
        if ((this.idTreino == null && other.idTreino != null) || (this.idTreino != null && !this.idTreino.equals(other.idTreino))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "entidade.Treino[ id=" + idTreino + " ]";
    }
    
}
